package com.linkgie.galaxyframework.persistence;

/**
 * 数据升级调度；
 */
public interface DataUpgradeSchedule {

    /**
     * 升级任务名称；
     * <p>
     * 默认是 {@link DataUpgradeProcess } 的类名；
     * <p>
     * 如果定义了 {@link DataUpgrade#value() } ，则返回定义的值；
     * 
     * @return
     */
    String getName();

    /**
     * 已调度的次数；
     * <p>
     * 首次执行时，返回 0 ；
     * <p>
     * 升级任务在每次启动时检查调度策略是否超过最大的调度次数，如果未超出，则执行升级处理；
     * @return
     */
    long getScheduledTimes();

}
